PROGRAM 0   200 BYTES

   DPY-ASTEROIDS TST PGM
   DPY-+-PRESS CONT
   STOP
0: LABEL 0
   DPY-MNU 1=RAM 2=ROM 3=SND 4=IO 
   DPY-+-5=VG 6=ADDDEC /1
   IF REG1 = 1 GOTO 1
   IF REG1 = 2 GOTO 2
   IF REG1 = 3 GOTO 3
   IF REG1 = 4 GOTO 4
   IF REG1 = 5 GOTO 5
   IF REG1 = 6 GOTO 6
   GOTO 0
1: LABEL 1
   EXECUTE PROGRAM 10
   GOTO 0
2: LABEL 2
   EXECUTE PROGRAM 20
   GOTO 0
3: LABEL 3
   EXECUTE PROGRAM 30
   GOTO 0
4: LABEL 4
   EXECUTE PROGRAM 50
   GOTO 0
5: LABEL 5
   EXECUTE PROGRAM 50
   GOTO 0
6: LABEL 6
   EXECUTE PROGRAM 60
   GOTO 0

PROGRAM 10   151 BYTES

   DPY-TESTING VECTOR RAM R3 M3#
   RAM SHORT @ 4000-43FF
   DPY-TESTING VECTOR RAM P3 N3#
   RAM SHORT @ 4400-47FF
   DPY-TESTING PGM RAM E2 D2#
   RAM SHORT @ 0000-03FF
   DPY-RAM TESTING COMPLETE
   DPY-+-PRESS CONT#
   STOP

PROGRAM 12   112 BYTES

   DPY-START#
   STOP
   READ PROBE
   REG1 = 40
1: LABEL 1
   WRITE @ 3E00 = FF
   DEC REG1
   IF REG1 > 0 GOTO 1
   READ PROBE
   REG0 = REG0 AND 7F
   IF REG0 = 10 GOTO 2
   DPY-INCORRECT WAS $0 NOT 16
   GOTO 3
2: LABEL 2
   DPY-COUNT CORRECT $0
3: LABEL 3

PROGRAM 20   224 BYTES

0: LABEL 0
   DPY-ROM VERSION 1 OR 2 ? /1
   IF REG1 = 1 GOTO 1
   IF REG1 = 2 GOTO 2
   GOTO 0
2: LABEL 2
   DPY-TESTING ROM F1 
   ROM TEST @ 6800-6FFF SIG 53C9
   DPY-TESTING ROM D E1
   ROM TEST @ 7000-77FF SIG 3D7A
   DPY-TESTING ROM C1
   ROM TEST @ 7800-7FFF SIG 232F
   DPY-TESTING VECTOR ROM NP3
   ROM TEST @ 5000-57FF SIG CBED
   GOTO F
1: LABEL 1
F: LABEL F
   DPY-ROM TEST COMPLETE
   STOP

PROGRAM 30   521 BYTES

   REG1 = 40
   DPY-EXPLOSION SND. CONT=NEXT
   DPY-+ SND%1#
0: LABEL 0
   WRITE @ 3600 = FF
   IF REG1 = 25 GOTO 1
   GOTO 0
1: LABEL 1
   REG1 = 40
   DPY-THUMP SND. CONT=NEXT SND%1#
2: LABEL 2
   WRITE @ 3A00 = 1F
   IF REG1 = 25 GOTO 3
   GOTO 2
3: LABEL 3
   REG1 = 40
   DPY-SAUCER SND. CONT=NEXT
   DPY-+ SND%1#
4: LABEL 4
   WRITE @ 3C00 = 80
   IF REG1 = 25 GOTO 5
   GOTO 4
5: LABEL 5
   REG1 = 40
   DPY-SAUCER FIRE SND.CONT=NEXT
   DPY-+ SND%1#
6: LABEL 6
   WRITE @ 3C01 = 80
   IF REG1 = 25 GOTO 7
   GOTO 6
7: LABEL 7
   REG1 = 40
   DPY-SHIP THRUST SND. CONT=
   DPY-+NEXT SND%1#
8: LABEL 8
   WRITE @ 3C03 = 80
   IF REG1 = 25 GOTO 9
   GOTO 8
9: LABEL 9
   REG1 = 40
   DPY-SHIP FIRE SND. CONT=NEXT
   DPY-+ SND%1#
A: LABEL A
   WRITE @ 3C04 = 80
   IF REG1 = 25 GOTO B
   GOTO A
B: LABEL B
   REG1 = 40
   DPY-LIFE SND. CONT=NEXT SND%1#
C: LABEL C
   WRITE @ 3C05 = 80
   IF REG1 = 25 GOTO F
   GOTO C
F: LABEL F
   REG1 = 40
   DPY-SND TESTS COMPLETE. PRESS
   DPY-+ CONT%1#
   STOP

PROGRAM 50   267 BYTES

   DPY-CONNECT SCOPE,XY MODE. CONT
   STOP
   WRITE @ 4000 = FF
   WRITE @ 4001 = A3
   WRITE @ 4002 = 00
   WRITE @ 4003 = 02
   WRITE @ 4004 = FF
   WRITE @ 4005 = 97
   WRITE @ 4006 = 00
   WRITE @ 4007 = 90
   WRITE @ 4008 = 00
   WRITE @ 4009 = A2
   WRITE @ 400A = 00
   WRITE @ 400B = 00
   WRITE @ 400C = 00
   WRITE @ 400D = 90
   WRITE @ 400E = FF
   WRITE @ 400F = 33
   WRITE @ 4010 = 00
   WRITE @ 4011 = E0
   DPY-CONFIRM PLUS PATTERN. CONT#
   DPY-+=EXIT%1#
0: LABEL 0
   WRITE @ 3000 = 00
   IF REG1 = 25 GOTO 2
   GOTO 0
2: LABEL 2
   DPY-##

PROGRAM 60   518 BYTES

   SYNC ADDRESS
   DPY-PLACE PROBE ON POINTS
   DPY-+ SHOWN.#
   STOP
   DPY-ZPAGE E4-12.#
   STOP
   REGB = 1
   REG9 = 0000
   REGB = 40
   EXECUTE PROGRAM 65
   DPY-VMEM E4-10.#
   STOP
   REG9 = 4000
   EXECUTE PROGRAM 65
   DPY-PMEM E4-9.#
   STOP
   REG9 = 0200
   EXECUTE PROGRAM 65
   DPY-OPTS E4-6.#
   STOP
   REG9 = 2800
   EXECUTE PROGRAM 65
   DPY-SINP1 E4-5.#
   STOP
   REG9 = 2400
   EXECUTE PROGRAM 65
   DPY-SINP0 E4-4.#
   STOP
   REG9 = 2000
   EXECUTE PROGRAM 65
   DPY-VROM L3-10.#
   STOP
   REG9 = 5000
   EXECUTE PROGRAM 65
   DPY-PROM2 L3-7.#
   STOP
   REG9 = 7800
   EXECUTE PROGRAM 65
   DPY-PROM1 L3-6.#
   STOP
   REG9 = 7000
   EXECUTE PROGRAM 65
   DPY-PROM0 L3-5.#
   STOP
   REG9 = 6800
   EXECUTE PROGRAM 65
   DPY-NOISERST L6-9.#
   STOP
   REG9 = 3E00
   REG8 = 0
   REGA = FF
   EXECUTE PROGRAM 65
   DPY-AUDIO L3-7.#
   STOP
   REG9 = 3C00
   EXECUTE PROGRAM 65
   DPY-THUMP L6-6.#
   STOP
   REG9 = 3A00
   EXECUTE PROGRAM 65
   DPY-EXPLODE L6-4.#
   STOP
   REG9 = 3600
   EXECUTE PROGRAM 65
   DPY-WDCLR L6-3.#
   STOP
   REG9 = 3400
   EXECUTE PROGRAM 65
   DPY-OUT L6-2.#
   STOP
   REG9 = 3200
   EXECUTE PROGRAM 65
   DPY-DMAGO L6-1.#
   STOP
   REG9 = 3000
   EXECUTE PROGRAM 65
   DPY-TST COMPLETE.#
   STOP

PROGRAM 65   116 BYTES

   READ PROBE
   REG1 = REGB
1: LABEL 1
   IF REG8 = 0 GOTO 2
   READ @ REG9
   GOTO 3
2: LABEL 2
   WRITE @ REG9 = REGA
3: LABEL 3
   DEC REG1
   IF REG1 > 0 GOTO 1
   READ PROBE
   REG0 = REG0 AND 7F
   IF REG0 = REGB GOTO 4
   DPY-+CNT BAD.
   GOTO 5
4: LABEL 4
   DPY-+ OK. 
5: LABEL 5
   DPY-+COUNT @0=@B#
   STOP

PROGRAM 80   76 BYTES

   SYNC DATA
2: LABEL 2
   DPY-CONT START.
   DPY-+#
   STOP
   READ PROBE
   EXECUTE PROGRAM 85
   READ PROBE
   REG0 = REG0 SHR SHR SHR SHR
   REG0 = REG0 SHR SHR SHR SHR
   REG0 = REG0 AND FFFF
   DPY-SIG=$0
   DPY-+#
   STOP
   GOTO 2

PROGRAM 85   173 BYTES

   WRITE @ 4000 = FF
   WRITE @ 4001 = A3
   WRITE @ 4002 = 00
   WRITE @ 4003 = 02
   WRITE @ 4004 = FF
   WRITE @ 4005 = 97
   WRITE @ 4006 = 00
   WRITE @ 4007 = 90
   WRITE @ 4008 = 00
   WRITE @ 4009 = A2
   WRITE @ 400A = 00
   WRITE @ 400B = 00
   WRITE @ 400C = 00
   WRITE @ 400D = 90
   WRITE @ 400E = FF
   WRITE @ 400F = 33
   WRITE @ 4010 = 00
   WRITE @ 4011 = E0
   WRITE @ 3000 = 00
:016768
:022022
:030104
:040105
:050000000005
:06FFFFFCFFFF
:07000013001A
:080000110019
:0900004F0058
:0A0000C800D2
:0B00000A0D22
:0C36353032000000D9
:0D202D
:0E000000000000000000000000000000000000000000000000000000000E
:0F000000000000005244590020200000000000000000000000000000003E
:10000000000000000000000000000000000000000000000000000000000000000010
:11000000000000000000000000000000000000000000000000000000000000000011
:12000000000000000000000000000000000000000000000000000000000000000012
:13000000000000000000000000000000000000000000000000000000000000000013
:14000000000000000000000000000000000000000000000000000000000000000014
:15000000000000000000000000000000000000000000000000000000000000000015
:16000000000000000000000000000000000000000000000000000000000000000016
:17000000000000000000000000000000000000000000000000000000000000000017
:19000000000000FF0302000000001C0000FF0038
:190000C0220000FF220300000000005EA8000025
:19000000400000FF470200000000000000FF00A0
:19000000500000FF57030000000000EDCB00007A
:19000000680000FF7F030000000000FF7F000080
:1A001A
:533EC1D3D4C5D2CFC9C4D3A0D4D3D4A0D0C7CD743EABADD0D2C5D3D3A0C3CFCED474282B*90
:003ECDCED5A0B1BDD2C1CDA0B2BDD2CFCDA0B3BDD3CEC4A0B4BDC9CFA0743EABADB5BDD6*A9
:C7A0B6BDC1C4C4C4C5C3A0AFB1742D38012F012C012D38012F022C022D38012F032C032D*5F
:38012F042C042D38012F052C052D38012F062C062C002B013701001C2C002B023702001C*8E
:2C002B033703001C2C002B043704001C2C002B053705001C2C002B063706001C2C005000*48
:2500018400028C00039400049C0005A40006AC00$CA
:1A0A24
:533ED4C5D3D4C9CEC7A0D6C5C3D4CFD2A0D2C1CDA0D2B3A0CDB3A37418040000001C0403*3D
:0F0F1C3ED4C5D3D4C9CEC7A0D6C5C3D4CFD2A0D2C1CDA0D0B3A0CEB3A37418040400001C*20
:04070F0F1C3ED4C5D3D4C9CEC7A0D0C7CDA0D2C1CDA0C5B2A0C4B2A37418000000001C00*9D
:030F0F1C3ED2C1CDA0D4C5D3D4C9CEC7A0C3CFCDD0CCC5D4C5743EABADD0D2C5D3D3A0C3*8C
:CFCED4A3742850$00
:1A0C26
:533ED3D4C1D2D4A3742839440104001C2B0120030E00001C0F0F1C35012D38012E002C01*26
:394400380030070F1C2D38002F01002C023EC9CEC3CFD2D2C5C3D4A0D7C1D3A0A4B0A0CE*AE
:CFD4A0B1B6742C032B023EC3CFD5CED4A0C3CFD2D2C5C3D4A0A4B0742B03500112000252*40
:00036600$69
:1A142E
:532B003ED2CFCDA0D6C5D2D3C9CFCEA0B1A0CFD2A0B2A0BFA0AFB1742D38012F012C012D*17
:38012F022C022C002B023ED4C5D3D4C9CEC7A0D2CFCDA0C6B1A07416060800001C060F0F*6A
:0F1C05030C091C3ED4C5D3D4C9CEC7A0D2CFCDA0C4A0C5B17416070000001C07070F0F1C*BD
:030D070A1C3ED4C5D3D4C9CEC7A0D2CFCDA0C3B17416070800001C070F0F0F1C0203020F*56
:1C3ED4C5D3D4C9CEC7A0D6C5C3D4CFD2A0D2CFCDA0CED0B37416050000001C05070F0F1C*5B
:0C0B0E0D1C2C0F2B012B0F3ED2CFCDA0D4C5D3D4A0C3CFCDD0CCC5D4C574285000030001*64
:BD00022E000FBF00$BB
:1A1E38
:53440104001C3EC5D8D0CCCFD3C9CFCEA0D3CEC4AEA0C3CFCED4BDCEC5D8D4743EABA0D3*8A
:CEC4A5B1A3742B0020030600001C0F0F1C2D38012F02052C012C002B01440104001C3ED4*41
:C8D5CDD0A0D3CEC4AEA0C3CFCED4BDCEC5D8D4A0D3CEC4A5B1A3742B0220030A00001C01*A6
:0F1C2D38012F02052C032C022B03440104001C3ED3C1D5C3C5D2A0D3CEC4AEA0C3CFCED4*3F
:BDCEC5D8D4743EABA0D3CEC4A5B1A3742B0420030C00001C08001C2D38012F02052C052C*62
:042B05440104001C3ED3C1D5C3C5D2A0C6C9D2C5A0D3CEC4AEC3CFCED4BDCEC5D8D4743E*F5
:ABA0D3CEC4A5B1A3742B0620030C00011C08001C2D38012F02052C072C062B0744010400*3A
:1C3ED3C8C9D0A0D4C8D2D5D3D4A0D3CEC4AEA0C3CFCED4BD743EABCEC5D8D4A0D3CEC4A5*A2
:B1A3742B0820030C00031C08001C2D38012F02052C092C082B09440104001C3ED3C8C9D0*7D
:A0C6C9D2C5A0D3CEC4AEA0C3CFCED4BDCEC5D8D4743EABA0D3CEC4A5B1A3742B0A20030C*7C
:00041C08001C2D38012F02052C0B2C0A2B0B440104001C3ECCC9C6C5A0D3CEC4AEA0C3CF*2B
:CED4BDCEC5D8D4A0D3CEC4A5B1A3742B0C20030C00051C08001C2D38012F02052C0F2C0C*CA
:2B0F440104001C3ED3CEC4A0D4C5D3D4D3A0C3CFCDD0CCC5D4C5AEA0D0D2C5D3D3743EAB*A6
:A0C3CFCED4A5B1A3742850002C00014100026500037A0004A20005B70006E30007F80008*5D
:2501093A010A65010B7A010C9D010FB201$CC
:1A324C
:533EC3CFCECEC5C3D4A0D3C3CFD0C5ACD8D9A0CDCFC4C5AEA0C3CFCED474282004000000*19
:1C0F0F1C20040000011C0A031C20040000021C00001C20040000031C00021C2004000004*A7
:1C0F0F1C20040000051C09071C20040000061C00001C20040000071C09001C2004000008*C1
:1C00001C20040000091C0A021C200400000A1C00001C200400000B1C00001C200400000C*A6
:1C00001C200400000D1C09001C200400000E1C0F0F1C200400000F1C03031C2004000100*C8
:1C00001C20040001011C0E001C3EC3CFCEC6C9D2CDA0D0CCD5D3A0D0C1D4D4C5D2CEAEA0*E0
:C3CFCED4A3743EABBDC5D8C9D4A5B1A3742B0020030000001C00001C2D38012F02052C02*E8
:2C002B023EA3A3745000EB00020001$8F
:1A3C56
:533C0A3ED0CCC1C3C5A0D0D2CFC2C5A0CFCEA0D0CFC9CED4D3743EABA0D3C8CFD7CEAEA3*6B
:74283EDAD0C1C7C5A0C5B4ADB1B2AEA37428440B011C4409000000001C440B04001C3706*68
:051C3ED6CDC5CDA0C5B4ADB1B0AEA374284409040000001C3706051C3ED0CDC5CDA0C5B4*F9
:ADB9AEA374284409000200001C3706051C3ECFD0D4D3A0C5B4ADB6AEA374284409020800*60
:001C3706051C3ED3C9CED0B1A0C5B4ADB5AEA374284409020400001C3706051C3ED3C9CE*80
:D0B0A0C5B4ADB4AEA374284409020000001C3706051C3ED6D2CFCDA0CCB3ADB1B0AEA374*24
:284409050000001C3706051C3ED0D2CFCDB2A0CCB3ADB7AEA374284409070800001C3706*47
:051C3ED0D2CFCDB1A0CCB3ADB6AEA374284409070000001C3706051C3ED0D2CFCDB0A0CC*23
:B3ADB5AEA374284409060800001C3706051C3ECECFC9D3C5D2D3D4A0CCB6ADB9AEA37428*01
:4409030E00001C4408001C440A0F0F1C3706051C3EC1D5C4C9CFA0CCB3ADB7AEA3742844*AC
:09030C00001C3706051C3ED4C8D5CDD0A0CCB6ADB6AEA374284409030A00001C3706051C*24
:3EC5D8D0CCCFC4C5A0CCB6ADB4AEA374284409030600001C3706051C3ED7C4C3CCD2A0CC*B5
:B6ADB3AEA374284409030400001C3706051C3ECFD5D4A0CCB6ADB2AEA374284409030200*47
:001C3706051C3EC4CDC1C7CFA0CCB6ADB1AEA374284409030000001C3706051C3ED4D3D4*90
:A0C3CFCDD0CCC5D4C5AEA3742850$36
:1A415B
:53394401380B1C2B012D38082F002C021F38091C2C032B022038091C380A1C2B0335012D*6A
:38012E002C01394400380030070F1C2D38002F380B2C043EABC3CED4A0C2C1C4AE742C05*3A
:2B043EABA0CFCBAEA0742B053EABC3CFD5CED4A0C0B0BDC0C2A374285001090002180003*3B
:2100044A00055400$C8
:1A506A
:533C0D2B023EC3CFCED4A0D3D4C1D2D4AE743EABA37428393708051C3944003800333333*1A
:331C44003800333333331C44003800300F0F0F0F1C3ED3C9C7BDA4B0743EABA374282C02*33
:50020500$57
:1A556F
:5320040000001C0F0F1C20040000011C0A031C20040000021C00001C20040000031C0002*DA
:1C20040000041C0F0F1C20040000051C09071C20040000061C00001C20040000071C0900*BD
:1C20040000081C00001C20040000091C0A021C200400000A1C00001C200400000B1C0000*A2
:1C200400000C1C00001C200400000D1C09001C200400000E1C0F0F1C200400000F1C0303*D3
:1C20040001001C00001C20040001011C0E001C20030000001C00001C50$90
:00
